function photo_achiev()
  if dream4_lydia._phone and dream4_lydia._cam and dream4_sky._photo and dream4_river._photo then
    unlock_("photo")();
  end
end

---------------------------------------------------------------------------------------------------
--dream4
---------------------------------------------------------------------------------------------------
dream4start = gfxroom {
   enter        = music_("morning", 3)
  ,ontimer      = function(s)
                    if s._x == nil then
                      s._x = 0;
                    end
                    if s._x > 800 then
                      return;
                    end
                    local gfx = s:loadgfx("stars");
                    sprite.copy(gfx, s._x, 0, 800, 600, s.pic, 0, 0);
                    s._x = s._x + 2;
                  end
  ,stop         = 450
  ,dispose      = nil_("_x")
  ,next         = chain_ {
                    take_("dream4_phone"),
                    take_("carkey"),
                    walk_("dream4")
                  }
  ,rate         = 40
}

dream4 = scene {
   checkpoint   = true
  ,obj          = {
                     "dream4_start"
                    ,"dream4_sky"
                    ,"dream4_lydia"
                    ,"dream4_gocar"
                    ,"dream4_tabletmessages"
                    ,"cmn_pocket"
                  }
  ,Refresh      = [[Я стою на утёсе рядом с Лидой. До появления на звёздном небосклоне "Патрокла" осталось
                    не так много времени.]]
  ,Exit         = [[Уезжать пока ещё рано -- мы ведь здесь, чтобы посмотреть на "Патрокла".]]
  ,TurnAround   = [[Мы здесь одни.]]
  ,Wait         = choose_ {
                     ["default"] =
                        [[Когда я стою стою здесь вместе с Лидой -- на утёсе, под мерцающим звёздным небом, --
                          то кажется, что время остановилось.]]
                    ,["dream4_lydia._talk>1"] =
                        [[Надо бы достать из машины камеру перед тем, как появится "Патрокл".]]
                  }
}

carkey = item {
   nam          = name_ {
                     ["default"] = _"ключ от машины"
                    ,["Open"] = _"ключ"
                  }
  ,Exam         = [[Электронный ключ от взятой напрокат машины, настолько маленький, что я постоянно боюсь его потерять.
                    По форме ключ напоминает яблочное семя, украшенное небольшими логотипами в виде треугольного герба.
                    Довольно старомодный аксессуар, который, как я слышал, является визитной карточкой автомобилей этой
                    марки -- большинство других машин вообще обходятся без ключей и распознают имплантированную биокарту,
                    что, надо сказать, гораздо удобнее, чем постоянно таскать с собой брелок, который может попросту выпасть из
                    кармана. Однако ретро сейчас в моде.]]
  ,Throw        = redirect_("Put")
  ,Put          = use_ {
                     ["default"] = [[Мне бы очень не хотелось потерять ключ.]]
                    ,["cmn_pocket"] = [[Ключ и так лежит в кармане.]]
                    ,["dream4_lydia"] = "Я бы предпочёл оставить ключ у себя. В конце концов, мне же потом садиться за руль."
                    ,["dream4_lydia2"] = "Я бы предпочёл оставить ключ у себя. В конце концов, мне же потом садиться за руль."
                    ,["dream4incar_slot"] =
                        choose_ {
                           ["default"] = "Не понимаю, зачем мне вставлять ключ в этот слот. Ключ должен распознаваться автоматически."
                          ,["dream4_carbox._error"] =
                              chain_ {
                                dropself,
                                putself_("dream4incar"),
                                set_("dream4incar_slot._key"),
                                inc_("dream4incar_slot._try"),
                                choose_ {
                                   ["default"] =
                                      [[Ключ без проблем заходит в слот и фиксируется там с лёгким, едва различимым щелчком. Да,
                                        судя по всему, это действительно отверстие для ключа. Но зачем? Или оно специально разработано
                                        для таких случаев -- когда возникают проблемы с датчиками или с самим ключом?^
                                        Всё-таки было бы куда проще и удобнее, если бы в машине был простой биометрический сканер,
                                        а не эта старомодная чушь.]]
                                  ,["dream4incar_slot._try>1"] =
                                      [[Я вставляю ключ в слот с правой стороны руля.]]
                                }
                              }
                        }
                  }
  ,Insert       = redirect_("Put")
  ,PutAway      = redirect_("Put")
  ,PutIn        = redirect_("Put")
  ,Give         = [[Не думаю, что Лиде нужен этот ключ. За рулём всё равно сижу я.]]
  ,Fetch        = redirect_("Give")
  ,TakeFrom     = use_ {
                     ["default"] = [[Не понимаю, как это сделать.]]
                    ,["nil"] =
                        choose_ {
                           ["default"] = redirect_("Take")
                          ,["have(carkey)"] = [[Ключ у меня в руке.]]
                        }
                    ,["cmn_pocket"] =
                        choose_ {
                           ["default"] = [[Я вытаскиваю ключ из кармана, кручу его в руке, а затем снова убираю в карман.]]
                          ,["not have(carkey)"] = [[Ключ не лежит у меня в кармане.]]
                        }
                    ,["dream4incar_slot"] =
                        choose_ {
                           ["default"] = redirect_("Take")
                          ,["have(carkey)"] = [[Ключа нет в слоте.]]
                        }
                  }
  ,Take         = choose_ {
                     ["default"] = redirect_("TakeFrom")
                    ,["not have(carkey)"] =
                        chain_ {
                          takeself,
                          unset_("dream4incar_slot._key"),
                          [[Я вытаскиваю ключ из слота под рулём и кладу его обратно в карман.]]
                        }
                  }
  ,Move         = choose_ {
                     ["default"] = redirect_("TakeFrom")
                    ,["not have(carkey)"] = [[Делать больше ничего не нужно, достаточно вставить ключ в слот.]]
                  }
  ,Spin         = redirect_("Move")
  ,Wreck        = [[Не понимаю, зачем мне портить ключ. Если я его сломаю, то уехать отсюда на машине уже не получится.]]
  ,TurnOn       = [[Ключ автоматически распознаётся сенсорами автомобиля, ничего включать или выключать не надо.]]
  ,TurnOff      = redirect_("TurnOn")
  ,Activate     = redirect_("TurnOn")
  ,withOpen     = true
}:like(pItem)

dream4_start = rooms.event
  [[-- Здесь просто удивительно!^
    Лида смотрит на небо улыбается.^
    Мы стоим у самого обрыва. Тут так темно, что даже бледный свет звёзд кажется ярким, как солнце.
    Над нами простирается чёрная бездонная пустота, где призраки давно погасших звёзд складываются в причудливые
    созвездия с огнями спутников сотовой связи и выходящих на орбиту кораблей. После плоского городского неба,
    в котором отражается искусственный свет многоквартирных домов и круглосуточных иллюминаций, лишая
    его глубины и жизни, кажется, что ты оказался на другой планете, пустой, холодной и безжизненной,
    как самая глухая ночь, и в то же время красивой до дрожи -- как бывает красивым то, чего ещё не
    коснулась рука человека.^
    Мы здесь одни.^
    Но я не смотрю на звёзды. На Лиде -- простенькая серая ветровка. Свои длинные чёрные волосы она
    заплела в косу -- впервые за всё то время, что я её знаю. Я вижу, как она улыбается, а в глазах её
    поблёскивают огоньки. Здесь, сегодня, этой чёрной глубокой ночью, она только со мной. Я люблю её.
    Мне уже давно хочется сказать ей об этом, но я никак не могу решиться.^
    -- А ты уверен, что нам нужно было ехать так далеко? -- спрашивает она, улыбаясь. -- Да ещё брать
    напрокат машину?]]

dream4_lydia = item {
   _talk        = 0
  ,_phone       = false
  ,_cam         = false
  ,nam          = _"Лида"
  ,Exam         = [[Лида одета уже совсем по-осеннему, хотя осень и началась лишь полчаса назад. На ней
                    короткая серая ветровка, едва доходящая до талии, свитер того же цвета из искусственного
                    кашемира и длинная плотная юбка, которая спускается почти до самых щиколоток. Интересно,
                    почему она всегда предпочитает тёмные цвета? Мы встречаемся уже несколько месяцев, но
                    я так и не решился спросить её об этом.]]
  ,Talk         = choose_ {
                     ["default"] = 
                        chain_ {
                          inc_("s._talk"),
                          [[-- Мне говорили, что здесь самое лучшее место, -- отвечаю я. -- Ну, знаешь,
                            в городе, даже на окраине, небо совсем не такое... Сам город его затмевает.^
                            -- Да, наверное, -- говорит Лида. -- Мне, правда, показалось, что ты просто
                            хотел...^
                            -- Что?^
                            -- Неважно, -- Лида смотрит на меня. -- Я рада, что ты привёз меня сюда. Здесь
                            удивительно.^
                            Какое-то время мы не говорим ни слова. Мне хочется рассказать ей обо всём,
                            но я продолжаю молчать.^
                            -- А когда он зайдёт на орбиту? -- спрашивает Лида.]]
                        }
                    ,["s._talk==1"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- Осталось... -- я достаю из кармана планшет, чтобы проверить время. -- Ещё
                            чуть больше десяти минут.^
                            -- Я даже не представляю, как это будет, -- говорит Лида. -- Просто, как яркая
                            звезда?^
                            -- Да нет, что ты. "Патрокл" встанет на геосинхронную орбиту, это в десять раз
                            ближе, чем Луна. Я думаю... Впрочем, -- я улыбаюсь, -- я и сам никогда ничего
                            подобного не видел. Последний раз такой огромный корабль вставал на орбиту
                            лет десять назад.^
                            -- Ох, слушай, надо будет это заснять обязательно, -- говорит Лида и начинает
                            что-то искать в карманах своей ветровки, наверное, планшет. -- Тут, правда, так
                            темно...^
                            -- Да, точно! Я же взял с собой специальную камеру. На планшет, мне кажется, не
                            получится... Подожди, она должна быть в машине.]]
                        }
                    ,["s._talk==2"] =
                        chain_ {
                          [[-- Я отойду на минутку, -- говорю я. -- Возьму камеру из машины.^
                            -- Хорошо, -- отвечает Лида. -- Только давай быстрее, ведь он уже вот-вот
                            появится.]]
                        }
                  }
  ,Photo        = use_ {
                     ["dream4_phone"] =
                        choose_ {
                           ["default"] =
                              chain_ {
                                set_("dream4_lydia._phone"),
                                photo_achiev,
                                [[-- Так, -- говорю я и включаю режим камеры в своём планшете, -- это будет
                                  подтверждением того, что мы здесь действительно были.^
                                  -- Точно! -- смеётся Лида. -- Проехать сорок километров от городка... Без фотки
                                  никто не поверит!^
                                  Я обнимаю Лиду одной рукой за плечо и, подняв планшет как можно выше над головой,
                                  делаю снимок.]]
                              }
                          ,["dream4_lydia._phone"] = [[Я уже снимал Лиду на камеру своего планшета.]]
                        }
                    ,["dream4_camera"] =
                        choose_ {
                           ["default"] =
                              chain_ {
                                set_("dream4_lydia._cam"),
                                photo_achiev,
                                [[-- Погоди, стой! -- говорю я Лиде. -- Сейчас такой вид! Ты, звёздное небо, и ветер
                                  развевает твои волосы.^
                                  Я включаю камеру и делаю несколько шагов назад, чтобы небо над утёсом попало в кадр.^
                                  -- Ну, так неинтересно! -- говорит Лида. -- Давай вместе снимемся!^
                                  -- Извини, но я не хочу портить своей рожей произведение искусства, -- с наигранной
                                  серьёзностью отвечаю я, и Лида смеётся.]]
                              }
                          ,["dream4_lydia._cam"] = [[Я уже снимал Лиду на камеру.]]
                        }
                  }
  ,Approach     = [[Просто стоять вот так на утёсе рядом с ней... Несколько месяцев назад я не мог даже об этом мечтать.]]
  ,Film         = redirect_("Photo")
  ,Listen       = redirect_("Talk")
  ,Attack       = [[Не надо сходить с ума.]]
  ,Think        = [[Лида стоит рядом и улыбается мне так, словно знает меня уже множество лет, и в этот момент я не
                    могу даже представить, что когда-то Лиды не было в моей жизни. Но вот она отворачивается, и у меня
                    на секунду возникает непонятное чувство, что я стою рядом с совершенно незнакомой мне девушкой.
                    Я не понимаю, что со мной происходит. Я как будто знаю её и не знаю одновременно.]]
}:like(pHuman)

dream4_tabletmessages = item {
   nam          = name_ {
                     ["default"] = _"сообщение в планшете"
                    ,["Read"] = _"сообщения в планшета"
                  }
  ,Read         = [[Мне совсем не хочется тратить эти минуты на электронную почту или мгновенные сообщения. Лучше я просто
                    оставлю этот планшет в покое.]]
  ,Write        = [[Даже не представляю, кому я мог бы сейчас написать мгновенное сообщение.]]
}

dream4_phone = item {
   _exam        = false
  ,nam          = _"планшет"
  ,Exam         = [[Планшетный компьютер, который выдают всем студентам нашего института -- простенькая и
                    непритязательная модель. К тому же почти все полезные функции заблокированы -- дескать планшет
                    только для учёбы, никаких тебе игр и дополненной реальности. В общем, единственный его плюс -- большой
                    экран. Планшет можно разложить, как триптих, и тогда удобно читать научные статьи с графиками или
                    смотреть учебные фильмы; в свёрнутом же состоянии планшет весьма компактен и без проблем влезает
                    в карман пиджака. Только вот встроенная камера у него довольно слабая и для ночной съёмки не
                    подходит.]]
  ,Call         = [[Мне не хочется портить такой момент разговорами по сотовой связи. Поболтать с Виктором я ещё
                    успею.]]
  ,Open         = use_ {
                     ["nil"] =
                        choose_ {
                           ["not s._exam and (here()==dream4 or here()==dream4clyff)"] = redirect_("Give")
                          ,["default"] = 
                             [[Я держу раскрытый планшет в руках, хотя и не очень понимаю, зачем он мне сейчас нужен.
                              Что я хотел сделать? Сфотографировать Лиду?]]
                        }
                    ,["default"] = [[Не понимаю -- как это?]]
                  }
  ,TakeFrom     = use_ {
                     ["default"] = [[Не представляю, как это сделать.]]
                    ,["nil"] = direct_("Move")
                    ,["cmn_pocket"] = direct_("Move")
                  }
  ,Close        = [[Планшет и так лежит у меня в кармане.]]
  ,Move         = [[Я вытаскиваю планшет из кармана, проверяю время и снова убираю его в карман.]]
  ,Put          = use_ {
                     ["default"] = [[Не стоит этого делать.]]
                    ,["cmn_pocket"] = redirect_("Close")
                    ,["dream4_cartrunk"] = [[Багажник -- не самое подходящее место для планшета.]]
                    ,["dream4_passengersit"] = [[Ну да, а потом кто-нибудь на него случайно сядет.]]
                    ,["dream4_underarm"] = 
                        [[Если я положу планшет в подлокотник, то, скорее всего, потом просто его здесь забуду и сдам
                          машину в прокатное бюро вместе со своим планшетом.]]
                    ,["dream4_carbox"] = 
                        [[Честно говоря, планшет мне совершенно не мешает. Пусть он лучше лежит у меня в кармане.]]
                  }
  ,Throw        = use_ {
                     ["default"] = redirect_("Put")
                    ,["dream4_lydia"] = [[Да уж, не мог придумать ничего глупее.]]
                    ,["dream4_lydia2"] = [[Да уж, не мог придумать ничего глупее.]]
                    ,["dream4_river"] = [[Утопить планшет в реке -- да, нельзя придумать ничего лучше.]]
                    ,["dream4_car"] = [[Не представляю, зачем мне бросать планшет в машину.]]
                  }
  ,Write        = [[И что я должен писать в планшете? Я же не на лекции.]]
  ,PutAway      = redirect_("Put")
  ,PutIn        = redirect_("Put")
  ,Give         = choose_ {
                     ["not s._exam and (here()==dream4 or here()==dream4clyff)"] =
                        chain_ {
                          set_("s._exam"),
                          [[-- Смотри, -- говорю я, показывая Лиде экран своего планшета, -- осталось всего десять
                            минут.^
                            -- Ты думаешь, он появится минуту в минуту? -- спрашивает Лида.^
                            -- Должен, -- уверенно говорю я. -- Расписание всегда соблюдается очень чётко.]]
                        }
                    ,["default"] = [[Зачем Лиде мой планшет?]]
                  }
  ,Fetch        = redirect_("Give")
  ,Tear         = [[Лучше оставить планшет в покое.]]
}:like(pTablet)

dream4_gocar = item {
   nam          = _"машина"
  ,Walk         = choose_ {
                     ["default"] = walk_("dream4nearcar")
                    ,["have(dream4_camera)"] = 
                        [[Не думаю, что мне стоит уходить. "Патрокл" вот-вот выйдет на орбиту.]]
                  }
  ,articles     = {
                    ["Walk"] = "к"
                  }
  ,cnd          = if_("dream4_lydia._talk>1")
}:like(pLocation)

dream4_sky = item {
   _photo       = false
  ,nam          = _"небо"
  ,Exam         = [[В городе никогда не увидишь такого ясного звёздного неба. Думаю, нам стоит выбираться
                    сюда почаще. Мне даже хочется сделать несколько снимков на свою камеру.]]
  ,Photo        = use_ {
                     ["default"] = [[Это не лучшая идея.]]
                    ,["dream4_phone"] = 
                        [[Вряд ли в такой темноте я смогу сделать хороший снимок с помощью встроенной в планшет камеры.]]
                    ,["dream4_camera"] = 
                        chain_ {
                          set_("s._photo"),
                          photo_achiev,
                          [[Я смотрю на небо через видоискатель камеры. Здесь столько созвездий! Кажется,
                            что я могу увидеть почти всю вселенную, как будто именно отсюда, с этого
                            невысокого утёса над спокойной и холодной рекой, открывается головокружительный вид
                            на весь исследованный человеком космос, на все системы, в которых нам когда-либо
                            удавалось побывать.^
                            Я делаю снимок, и камера издает отрывистый механический звук, имитирующий щелчок
                            старомодного затвора. Этот космический атлас над нами теперь навечно записан на мою
                            карту памяти.]]
                        }
                  }
  ,Film         = redirect_("Photo")
}:like(pPhenom)


---------------------------------------------------------------------------------------------------
--dream4clyff
---------------------------------------------------------------------------------------------------
dream4clyff = scene {
   _dark        = false
  ,enter        = choose_ {
                    ["have(dream4_camera)"] = music_("orbit_alt")
                  }
  ,obj          = {
                     "dream4clyff_itself"
                    ,"dream4_lydia2"
                    ,"dream4_gocar"
                    ,"dream4_sky"
                    ,"dream4_river"
                    ,"dream4_reflections"
                    ,"dream4_patrockl"
                    ,"dream4_tabletmessages"
                    ,"cmn_pocket"
                  }
  ,TurnAround   = [[Мы здесь одни.]]
  ,Exit         = [[Нет, уходить ещё рано.]]
}

dream4clyff_itself = rooms.dsc
  [[Лида стоит у самого обрыва, обняв себя руками. Пока меня не было, поднялся сильный ветер, который
    теперь развевает полы её куртки и длинную юбку. До появления "Патрокла" остаётся всего лишь несколько
    минут, и всё вокруг вдруг ожило в преддверии этого момента. Ночной вид, открывающийся
    с утёса, больше не кажется застывшим и неживым. Ветер приносит со стороны реки освежающий
    холод -- точно чьё-то частое взволнованное дыхание. Глядя на поднявшиеся волны, которые окатывают
    песчаный берег внизу, я вдруг вспоминаю, что сегодня началась осень.]]

dream4_river = item {
   _photo       = false
  ,nam          = _"река"
  ,Exam         = [[Звёзды причудливо отражаются в ряби волн на реке. Я думаю, что из этого получится
                    неплохая фотография.]]
  ,Photo        = use_ {
                     ["dream4_phone"] = [[У меня в руках отличная профессиональная камера. Может, лучше воспользоваться ей?]]
                    ,["dream4_camera"] =
                        chain_ {
                          set_("s._photo"),
                          photo_achiev,
                          [[Сфотографировать отражение звёздного неба в волнующейся на ветру воде? Я смотрю вниз через
                            объектив. Отблески звёзд в воде вздрагивают, и волны, которые поднимает ветер, напоминают
                            причудливые искажения пространства, вроде тех, что создают двигатели современных космических
                            кораблей.]]
                        }
                  }
  ,Film         = redirect_("Photo")
  ,Approach     = [[Здесь спустится не получится. К тому же мне совершенно не нужно к реке, ведь отсюда небо
                    видно гораздо лучше.]]
  ,Descend      = redirect_("Approach")
  ,withThrow    = true
  ,articles     = {
                     ["Walk"] = "к"
                    ,["Approach"] = "к"
                    ,["Descend"] = "к"
                    ,["Throw"] = "в"
                  }
}:like(pLocation)

dream4_reflections = item {
   nam          = _"отражения"
  ,Exam         = [[Свет далеких звёзд, спутников и прибывающих кораблей причудливо отражается в речных волнах.]]
  ,Photo        = redirect_("Photo", "dream4_river")
  ,Film         = redirect_("Photo", "dream4_river")
}:like(pPhenom)

dream4_lydia2 = from_("dream4_lydia") {
   _talk        = 0
  ,nam          = _"Лида"
  ,Talk         = choose_ {
                     ["default"] = 
                        chain_ {
                          inc_("s._talk"),
                          [[-- Ну, наконец-то, -- говорит Лида, -- осталась всего пара минут. Сделаешь снимок?^
                            -- Да, конечно.^
                            Я настраиваю камеру и начинаю разглядывать через видоискатель мерцающие в
                            глубокой космической темноте созвездия.^
                            -- А где он должен появиться? -- спрашивает Лида. -- Прямо над Южным Крестом?]]
                        }
                    ,["s._talk==1"] =
                        chain_ {
                          inc_("s._talk"),
                          [[-- По идее, да, -- говорю я. -- Должен быть над Южным Крестом.^
                            -- И как это будет? -- спрашивает Лида. -- Просто вспыхнет яркая точка? Как ещё
                            одна звезда?^
                            -- Думаю, это будет далеко не точка, -- отвечаю я. -- Вообще, мне кажется, он
                            должен постепенно выйти на орбиту, то есть...^
                            Я замолкаю, увидев, что над созвездием на юге вдруг появилась дрожащая
                            звезда. Сияние этой звезды становится ярче с каждой секундой -- и вот она уже
                            затмевает собой все остальные звезды на небосклоне.^
                            -- Смотри! Там! -- кричит Лида.^
                            -- Да, да, вижу. Кажется, это он.^
                            -- Ты фотографируешь? Камера!]]
                        }
                    ,["s._talk==2 and not dream4clyff._dark"] =
                        [[-- Ты снимаешь? -- взволнованно спрашивает Лида.^
                          -- Да, да, сейчас, -- отвечаю я.]]
                    ,["s._talk==2 and dream4clyff._dark"] =
                        chain_ {
                          mute_(0, 0),
                          sound_("powerdown2"),
                          drop_("dream4_phone"),
                          drop_("dream4_camera"),
                          drop_("carkey"),
                          walkfast2_("dream4end1")
                        }
                  }
}

dream4_patrockl = item {
   nam          = _"корабль|Патрокл"
  ,Exam         = [[Лучше всё-таки заснять корабль на камеру.]]
  ,Photo        = use_ {
                     ["default"] = [[Нет, так ничего не выйдет.]]
                    ,["dream4_phone"] =
                        [[Здесь слишком темно, вряд ли получится удачно снять "Патрокл" на планшет. Да и зачем
                          делать это? Я ведь взял с собой специальную камеру.]]
                    ,["dream4_camera"] =
                        chain_ {
                          set_("dream4clyff._dark"),
                          music_("alpha"),
                          [[Дрожащими пальцами я включаю камеру и начинаю снимать. "Патрокл" быстро увеличивается в
                            размерах, стремительно скользя по небосклону -- кажется, что все звёзды гаснут
                            из-за его ослепительного лучистого света. Я вдруг вспоминаю, как в новостях говорили о
                            протестах экологистов -- гравитационные возмущения, которые вызывает корабль таких размеров,
                            могут, по их словам, привести к серьёзным бурям и наводнениям, что, на мой взгляд, весьма похоже
                            на правду.^
                            И вот он, здесь и сейчас -- движется по чёрному ночному небу на высоте в тысячи километров
                            над нами. А тем временем, на другой стороне планеты, поднимается страшный ураган.^
                            -- О, Боже! -- говорит Лида. -- Он ведь ещё даже не встал орбиту! И сколько он пробудет
                            здесь?^
                            -- Двенадцать минут, -- говорю я, не отрываясь от камеры.^
                            -- Двенадцать минут... -- восхищённо повторяет Лида.^
                            "Патрокл", наконец, замирает -- высоко в небе, как огромная звезда, которая затмевает луну
                            своим светом. Я продолжаю снимать -- я буду стоять здесь всё то время, что корабль остаётся
                            на орбите.^
                            -- Ты знаешь, я... -- вдруг начинает Лида.]]
                        }
                  }
  ,Film         = redirect_("Photo")
  ,cnd          = if_("dream4_lydia2._talk>1")
}:like(pPhenom)


---------------------------------------------------------------------------------------------------
--dream4nearcar
---------------------------------------------------------------------------------------------------
dream4nearcar = scene {
   obj          = {
                     "dream4nearcar_itself"
                    ,"dream4_road"
                    ,"dream4_roadlamps"
                    ,"dream4_car"
                    ,"dream4_goclyff"
                    ,"dream4_skyshort"
                    ,"dream4_cartrunk"
                    ,"dream4_tabletmessages"
                    ,"cmn_pocket"
                  }
  ,Return       = choose_ {
                     ["have(dream4_camera)"] =walk_("dream4clyff")
                    ,["dream4_carbox._found and not have(dream4_camera)"] = 
                        [[Я уже собираюсь идти обратно к Лиде, как вдруг понимаю, что так и не забрал камеру из бардачка. Да, сегодня
                          я на редкость рассеян.]]
                    ,["default"] = [[Надо сначала найти камеру, времени осталось не так много. А Лида вряд ли поможет мне в поисках.]]
                  }
  ,Exit         = redirect_("Return")
  ,Wait         = [[Вообще-то времени у меня не так много.]]
}

dream4nearcar_itself = rooms.dsc
  [[Я стою рядом с длинным седаном, взятым напрокат несколько часов назад.^ 
    Я припарковал машину на обочине узкой потресканой дороги. Здесь, на перепутье между столицей
    и небольшими областными городками, царит какое-то мертвенное затишье, словно по узкой рассыпающейся
    дорожке уже пару сотен лет не проезжал ни один автомобиль. Редкие газовые фонари, половина из которых
    бесшумно мерцает, догорая свои последние минуты, лишь усиливают чувство странного пронзительного
    одиночества, словно мы с Лидой вдруг оказались на самом краю земли.]]

dream4_goclyff = item {
   nam          = _"утёс|обрыв|Лида"
  ,Walk         = redirect_("Return", "dream4nearcar")
  ,Approach     = redirect_("Return", "dream4nearcar")
  ,articles     = {
                     ["Walk"] = "к"
                    ,["Approach"] = "к"
                  }
}:like(pLocation)

dream4_car = item {
   nam          = _"машина"
  ,Exam         = [[Шестиметровый седан красивого тёмно-коричневого цвета с резкими гранёными формами и вертикальными
                    стойками фонарей, которые повторяют по своим очертаниям фары. Кажется, дизайн автомобилей этой марки
                    не меняется уже последние пару сотен лет. На таких автомобилях обычно разъезжают высокопоставленные 
                    чиновники, и мне было непросто привыкнуть к его несуразным габаритам. К тому же за день проката мне
                    пришлось отдать половину своей несчастной стипендии. Вообще-то я планировал взять какой-нибудь
                    компактный хэтчбек, цены на которые обычно куда менее грабительские, однако оказалось,
                    что все небольшие автомобили забронированы на месяц вперёд, и мне ничего не оставалось,
                    как согласиться на представительский класс.]]
  ,Open         = use_ {
                     ["carkey"] =
                        [[Машина открывается сама, стоит лишь коснуться дверной ручки. Видимо, специальные
                          датчики определяют, что у меня в кармане лежит ключ.]]
                    ,["default"] = [[Не понимаю, каким образом это можно сделать. Что-то странные мысли приходят мне в голову.]]
                    ,["nil"] = redirect_("Ascend")
                  }
  ,Close        = [[Машина закрывается автоматически, когда я отхожу от неё на несколько метров.]]
  ,Ascend       = choose_ {
                     ["default"] = walk_("dream4incar")
                    ,["have(dream4_camera)"] = 
                        [[Больше мне в машине ничего не нужно. Лучше поскорее вернуться к Лиде.]]
                  }
  ,Walk         = redirect_("Ascend")
  ,Approach     = redirect_("Exam")
  ,Sit          = redirect_("Ascend")
  ,Move         = [[Машина в парковочном режиме, сомневаюсь, что я смогу её сдвинуть. Да и зачем мне это
                    делать?]]
  ,Wreck        = [[Машина хоть и застрахована, но я предпочёл бы не искушать судьбу.]]
  ,Search       = choose_ {
                     ["default"] = [[Думаю, для начала стоит сесть в машину.]]
                    ,["have(dream4_camera)"] = redirect_("Ascend")
                  }
  ,articles     = {
                     ["Ascend"] = "в"
                    ,["Walk"] = "в"
                    ,["Sit"] = "в"
                    ,["Search"] = "в"
                  }
}:like(pBuild)

dream4_cartrunk = item {
   nam          = _"багажник"
  ,Exam         = choose_ {
                     ["default"] =
                        [[Я подхожу к багажнику и нажимаю на скрытую кнопку под серебристым молдингом. Крышка багажника
                          плавно поднимается вверх. Но внутри ничего нет, багажник абсолютно пуст. Скорее всего, я оставил
                          камеру в салоне.]]
                    ,["have(dream4_camera)"] = [[Больше мне в машине ничего не нужно.]]
                  }
  ,Open         = use_ {
                     ["default"] = redirect_("Exam")
                    ,["carkey"] = [[Ключ распознаётся автоматически -- мне не нужно даже доставать его из кармана.]]
                  }
  ,Approach     = redirect_("Exam")
  ,Move         = redirect_("Exam")
  ,Wreck        = [[Не думаю, что это потребуется. У меня же есть ключ.]]
  ,Close        = [[Багажник закрыт.]]
  ,Ascend       = [[Не очень понимаю, зачем это нужно делать.]]
  ,Stand        = redirect_("Ascend")
  ,Search       = redirect_("Open")
  ,withPut      = true
  ,withPutIn    = true
  ,withPutAway  = true
  ,withThrow    = true
  ,articles     = {
                     ["Stand"] = "на"
                    ,["Ascend"] = "на"
                    ,["Search"] = "в"
                    ,["Put"] = "в"
                    ,["PutIn"] = "в"
                    ,["PutAway"] = "в"
                    ,["PutThrow"] = "в"
                  }
}:like(pBuild)

dream4_road = item {
   nam          = _"дорога"
  ,Exam         = [[Дорога здесь совсем узкая, на ней едва разъедутся две машины, а газовые фонари стоят
                    редко, и кажется, что за ближайшим поворотом начинается чёрная бессветная
                    пропасть. Тут и правда поверишь, что приехал на самый край земли. Сорок километров от
                    институтского городка -- вот подлинные масштабы мира, в котором я живу последний
                    год, мечтая о звёздах.]]
  ,Walk         = [[Не думаю, что мне стоит далеко отходить от машины -- здесь и правда так темно, что
                    немудрено и заблудиться. К тому же Лида ждёт меня, а уже через несколько минут
                    "Патрокл" выйдет на орбиту Земли.]]
  ,Lie          = [[Зачем мне ложиться на дорогу?]]
  ,Sit          = [[Как-то у меня нет желания сидеть посреди дороги.]]
  ,articles     = {
                     ["Walk"] = "по"
                    ,["Sit"] = "на"
                    ,["Lie"] = "на"
                    ,["Throw"] = "на"
                  }
}:like(pRoom)

dream4_roadlamps = item {
   nam          = name_ {
                     ["default"] = _"фонари"
                    ,["Ascend"] = _"фонарь"
                  }
  ,Exam         = [[Света их газовых ламп едва хватает на то, чтобы очерчивать в ночной темноте
                    призрачно-бледные силуэты самих фонарных столбов, выхватывая, отвоёвывая у мрака лишь
                    небольшие островки земли и асфальтовой дороги, которые по-прежнему обступает плотная
                    чернильная темнота.]]
  ,Wreck        = [[Не собираюсь я разбивать фонари, не для того мы сюда приехали.]]
  ,Ascend       = [[Ума не приложу, зачем мне может потребоваться забираться на фонарь. Лучше просто поскорее
                    вернуться к Лиде.]]
  ,Approach     = redirect_("Walk", "dream4_road")
  ,Walk         = redirect_("Walk", "dream4_road")
  ,Move         = [[Спокойно. Не надо сходить с ума.]]
  ,articles     = {
                    ["Ascend"] = "на"
                  }
}:like(pBuild)

dream4_skyshort = item {
   nam          = _"небо"
  ,Exam         = [[Лучше мне не задерживаться здесь, а вернуться поскорее к Лиде.]]
  ,Photo        = redirect_("Exam")
  ,Film         = redirect_("Exam")
}:like(pPhenom)


---------------------------------------------------------------------------------------------------
--dream4incar
---------------------------------------------------------------------------------------------------
dream4incar = scene {
   obj          = {
                     "dream4incar_start"
                    ,"dream4incar_itself"
                    ,"dream4incar_goroad"
                    ,"dream4incar_door"
                    ,"dream4_sit"
                    ,"dream4_passengersit"
                    ,"dream4_underarm"
                    ,"dream4_carbox"
                    ,"dream4_camera"
                    ,"dream4incar_wheel"
                    ,"dream4incar_slot"
                    ,"dream4_tabletmessages"
                    ,"cmn_pocket"
                  }
  ,Wait         = [[Здесь, конечно, очень удобно, но меня ждёт Лида.]]
  ,Stand        = [[Боюсь, что встать в полный рост в машине не получится.]]
  ,Refresh      = redirect_("dsc", "dream4incar_itself")
  ,Return       = choose_ {
                     ["default"] = walk_("dream4nearcar")
                    ,["not have(carkey)"] = [[Не стоит оставлять в машине ключ.]]
                  }
  ,Exit         = redirect_("Return")
  ,before_Photo = redirect_("before_Photo", "dream4")
  ,before_Film  = redirect_("before_Photo", "dream4")
}

dream4incar_start = rooms.dsc
  [[Я сажусь в водительское кресло из чудовищно дорогой натуральной кожи, и вся приборная панель загорается
    мягким голубоватым светом. Приборы, стилизованные под старинные хронометры, оживают, и их причудливые витиеватые
    стрелки описывают на циферблатах полный круг, а потом плавно возвращаются в исходное положение. На лобовом стекле
    появляется герб производителя в виде разноцветного щита, а обшитое замшей рулевое колесо немного придвигается ко мне,
    как бы приглашая к поездке.^
    Здесь тихо и удобно. Вся панель обшита мягкой коричневой замшей, а в картах дверей поблёскивают лакированные
    вставки из тополя или ольхи. Наверное, этот автомобиль стоит, как неплохой дом в пригороде, хотя астронавты, летающие
    на том же "Патрокле", явно без проблем могут позволить себе такую машину.^]]

dream4incar_itself = item {
   nam          = _"машина"
  ,dsc          = [[Я осматриваюсь. Правая рука моя упирается в подлокотник, в котором прячется небольшая ёмкость для вещей. Напротив
                    пассажирского сидения есть бардачок.]]
  ,Exam         = redirect_("dsc")
  ,Exit         = redirect_("Return", "dream4incar")
  ,articles     = {
                    ["Exit"] = "из"
                  }
}

dream4incar_wheel = item {
   _exam        = false
  ,nam          = _"руль"
  ,Exam         = chain_ {
                    set_("s._exam"),
                    [[Большой трёхспицевый руль выглядит так же старомодно, как и остальной интерьер машины -- тонкий обод, приятная замшевая
                      отделка и огромный сверкающий герб прямо по центру. С правой стороны руля есть какой-то слот, который подходит по размеру
                      для электронного ключа.]]
                  }
  ,Wreck        = redirect_("Wreck", "dream4_underarm")
  ,Spin         = [[Сейчас мне не до этого, я ещё успею наиграться с машиной. "Патрокл" скоро выйдет на орбиту, а Лида ждёт меня. Надо
                    торопиться.]]
  ,Move         = redirect_("Spin")
  ,Search       = choose_ {
                     ["default"] = [[Не представляю, как можно спрятать что-то под рулём.]]
                    ,["dream4_carbox._found"] = [[Искать мне больше нечего, я всё нашёл.]]
                  }
  ,articles     = {
                    ["Search"] = "под"
                  }
}:like(pBasic)

dream4incar_slot = item {
   _key         = false
  ,_try         = 0
  ,nam          = _"слот"
  ,Exam         = choose_ {
                     ["default"] =
                        [[Небольшой слот с правой стороны руля, на который я раньше не обращал внимания. Слот подходит по размеру для электронного
                          ключа, но зачем этот слот нужен не очень ясно. Как мне объяснили в прокатной конторе, ключ не нужно доставать из кармана --
                          он распознаётся автоматически.]]
                    ,["s._key"] = [[Из слота с правой стороны руля торчит мой электронный ключ.]]
                  }
  ,Wreck        = redirect_("Wreck", "dream4_underarm")
  ,articles     = {
                     ["Put"] = "в"
                    ,["PutIn"] = "в"
                    ,["PutAway"] = "в"
                    ,["Throw"] = "в"
                    ,["Insert"] = "в"
                    ,["TakeFrom"] = "из"
                  }
  ,withInsert   = true
  ,withPut      = true
  ,withThrow    = true
  ,withPutIn    = true
  ,withTakeFrom = true
  ,withPutAway  = true
  ,cnd          = if_("dream4incar_wheel._exam")
}:like(pBasic)

dream4incar_door = item {
   nam          = _"водительская дверь"
  ,Open         = redirect_("Return", "dream4incar")
  ,Close        = [[Дверь и так закрыта.]]
}

dream4incar_goroad = item {
   nam          = _"дорога"
  ,Walk         = redirect_("Return", "dream4incar")
  ,articles     = {
                    ["Walk"] = "на"
                  }
}:like(pLocation)

dream4_sit = item {
   nam          = _"сидение"
  ,Stand        = redirect_("Stand", "dream4incar")
  ,articles     = {
                    ["Stand"] = "с"
                  }
}

dream4_passengersit = item {
   nam          = _"пассажирское сидение"
  ,Sit          = [[Из-за высокого центрального туннеля пересесть на пассажирское сидение будет непросто, да и
                    зачем мне делать это? Я могу осмотреть машину и с водительского места.]]
  ,Lie          = redirect_("Sit")
  ,Move         = [[Не уверен, что мне нужно двигать пассажирское сидение, к тому же отсюда я не смогу дотянуться
                    до кнопок электропривода.]]
  ,Exam         = choose_ {
                     ["default"] = 
                        [[Камеры на сидении нет. Видимо, я положил её куда-то ещё. От волнения я даже не могу
                          вспомнить.]]
                    ,["dream4_carbox._found"] = [[Лучше не терять время, "Патрокл" вот-вот появится.]]
                  }
  ,Search       = redirect_("Exam")
  ,Wreck        = redirect_("Wreck", "dream4_underarm")
  ,withPut      = true
  ,withThrow    = true
  ,withPutIn    = true
  ,withPutAway  = true
  ,withTakeFrom = true
  ,articles     = {
                     ["Put"] = "на"
                    ,["Throw"] = "на"
                    ,["Lie"] = "в"
                    ,["Search"] = "на"
                    ,["PutAway"] = "на"
                    ,["PutIn"] = "на"
                    ,["Sit"] = "в"
                    ,["Lie"] = "в"
                    ,["TakeFrom"] = "из"
                  }
}:like(pBasic)

dream4_camera = item {
   nam          = _"камера"
  ,Exam         = [[Специальная камера для ночной съёмки с огромным вытянутым объективом, как на старинных
                    зеркальных фотоаппаратах. Снимки даже ночью получаются удивительно чёткими, причем всё, что
                    нужно для этого сделать -- это просто нажать на кнопку.]]
  ,Take         = takeit_ [[Я достаю из бардачка камеру. Теперь можно возвращаться к Лиде.]]
  ,TakeFrom     = use_ {
                     ["default"] = 
                        [[Думаю, мне не стоит так нервничать. Это обычное свидание. Сейчас я вернусь к Лиде, мы
                          снимем выход "Патрокла" на орбиту. Всё будет хорошо.]]
                    ,["nil"] =
                        choose_ {
                           ["default"] = redirect_("Take")
                          ,["have(dream4_camera)"] = "Я держу камеру в руках."
                        }
                    ,["dream4_carbox"] =
                        choose_ {
                           ["default"] = redirect_("Take")
                          ,["have(dream4_camera)"] = "Я уже забрал камеру."
                        }
                    ,["cmn_pocket"] = "Камера не лежит у меня в кармане, всё равно она туда не поместится."
                    ,["dream4_passengersit"] = "Камеры нет на сидении."
                  }
  ,Give         = use_ {
                    ["dream4_lydia2"] = [[Лучше я сам сниму корабль.]]
                  }
  ,Fetch        = redirect_("Give")
  ,Throw        = use_ {
                     ["default"] = [[Камера довольно дорогая, не стоит её бросать.]]
                    ,["dream4_lydia2"] = [[Ну вот ещё, я пока что не сошёл с ума.]]
                    ,["dream4_passengersit"] = redirect_("Put")
                    ,["dream4_underarm"] = redirect_("Put")
                  }
  ,Put          = use_ {
                     ["default"] = [[У меня нет на это времени.]]
                    ,["dream4_passengersit"] = 
                        [[Я кладу камеру на пассажирское сидение, но потом сразу же её забираю. Времени осталось не так
                          много, лучше поторопиться.]]
                    ,["dream4_underarm"] =
                        [[Я кладу камеру на подлокотник, но она чуть не соскальзывает на пол, и я едва успеваю придержать
                          её рукой.]]
                    ,["dream4_carbox"] = [[Я только что забрал оттуда камеру, зачем возвращать её обратно?]]
                    ,["cmn_pocket"] = [[Боюсь, что в карман камера не влезет.]]
                  }
  ,Insert       = redirect_("Put")
  ,PutAway      = redirect_("Put")
  ,PutIn        = redirect_("Put")
  ,Wreck        = [[Камера очень дорогая, я нескоро смогу накопить денег на ещё одну такую же.]]
  ,TurnOn       = [[Я включаю камеру и проверяю заряд батареи. Осталось всего 12%, хотя на сегодня нам точно хватит.]]
  ,Activate     = redirect_("TurnOn")
  ,Open         = [[Объектив уже открыт, можно делать снимки.]]
  ,TurnOff      = [[Камера сейчас отключена.]]
  ,Close        = [[Лучше я оставлю объектив открытым -- всё же я взял эту камеру не просто так.]]
  ,cnd          = if_("dream4_carbox._open or have(dream4_camera)")
  ,withPhoto    = true
  ,withFilm     = true
  ,articles     = {
                     ["Photo"] = "на"
                    ,["Film"] = "на"
                  }
}:like(pItem)

dream4_underarm = item {
   nam          = _"подлокотник"
  ,Exam         = choose_ {
                     ["default"] = 
                        [[Я открываю подлокотник на центральном туннеле, однако внутри ничего нет -- да и, честно
                          говоря, сомневаюсь, что моя камера бы сюда поместилась.]]
                    ,["dream4_carbox._found"] = [[Больше мне здесь ничего не нужно.]]
                  }
  ,Open         = redirect_("Exam")
  ,Close        = [[Подлокотник сейчас опущен.]]
  ,Search       = redirect_("Exam")
  ,Move         = redirect_("Open")
  ,Wreck        = [[Я не буду здесь ничего портить.]]
  ,Ascend       = [[Боюсь, я там не помещусь.]]
  ,withPut      = true
  ,withThrow    = true
  ,withInsert   = true
  ,withPutIn    = true
  ,withPutAway  = true
  ,articles     = {
                     ["Put"] = "в"
                    ,["Throw"] = "в"
                    ,["Ascend"] = "на"
                    ,["Insert"] = "в"
                    ,["Search"] = "в"
                    ,["PutAway"] = "в"
                    ,["PutIn"] = "в"
                  }
}:like(pBasic)

function carboxopen_(data)
  return function(s)
    if dream4_carbox._open then
      return "Бардачок уже открыт.";
    else
      return rcall(data,s);
    end
  end
end

dream4_carbox = item {
   _open        = false
  ,_found       = false
  ,_error       = false
  ,nam          = name_ {
                     ["default"] = _"бардачок"
                    ,["Press"] = "кнопку на бардачке"
                  }
  ,Exam         = choose_ {
                     ["default"] =
                        [[Бардачок у машины открывается, когда нажимаешь на небольшую сенсорную кнопку в виде разноцветного герба. Наверное, ещё
                          одна деталь в стиле ретро.^
                          Сейчас бардачок закрыт.]]
                    ,["s._open and not have(dream4_camera)"] = [[Моя камера лежит в бардачке, осталось только забрать её.]]
                    ,["s._open and have(dream4_camera)"] = [[В бардачке ничего нет, а мне стоит поторопиться.]]
                  }
  ,Open         = use_ {
                     ["nil"] = 
                         choose_ {
                           ["s._open"] = [[Бардачок уже и так открыт.]]
                          ,["default"] =
                              choose_ {
                                 ["default"] =
                                    choose_ {
                                       ["default"] =
                                          chain_ {
                                            set_("s._open"),
                                            set_("s._found"),
                                            [[Затаив дыхание, я касаюсь сенсорной кнопки, и... крышка бардачка плавно опускается вниз. Ну, наконец-то!
                                              Видимо, это и правда был какой-то глюк электроники.^
                                              Моя камера, как я и предполагал, лежит внутри.]]
                                          }
                                      ,["s._found"] =
                                          chain_ {
                                            set_("s._open"),
                                            [[Я нажимаю на кнопку в виде герба, и дверца бардачка опускается вниз.]]
                                          }
                                    }
                                ,["not dream4incar_slot._key"] =
                                    choose_ {
                                       ["default"] =
                                          chain_ {
                                            set_("s._error"),
                                            [[Я касаюсь пальцем кнопки в виде угловатого герба, однако дверца бардачка не открывается -- вместо этого раздаётся неприятный
                                              сигнал об ошибке, а на лобовом стекле перед мной появляется надпись:^
                                              <i>Невозможно распознать электронный ключ!</i>^
                                              Странно, ключ ведь лежит у меня в кармане. Возможно, проблема с какими-нибудь датчиками?]]
                                          }
                                      ,["s._error"] =
                                          [[Я касаюсь пальцем кнопки в виде угловатого герба, однако дверца бардачка не открывается -- вместо этого раздаётся неприятный
                                            сигнал об ошибке, а на лобовом стекле перед мной появляется надпись:^
                                            <i>Невозможно распознать электронный ключ!</i>]]
                                    }
                              }
                        }
                    ,["default"] = [[Это плохая идея.]]
                    ,["carkey"] = carboxopen_ [[Нет, электронный ключ так не работает.]]
                    ,["dream4_phone"] = carboxopen_ [[Взламывать бардачок с помощью планшета? Да, оригинальный подход, ничего не скажешь.]]
                  }
  ,Crack        = use_ {
                     ["default"] = [[Сомневаюсь, что у меня что-нибудь получится.]]
                    ,["dream4_phone"] = redirect_("Open")
                  }
  ,Close        = choose_ {
                     ["default"] = [[Дверца бардачка закрыта -- она открывается, когда касаешься небольшой сенсорной кнопки в виде герба производителя.]]
                    ,["s._open"] =
                        chain_ {
                          unset_("s._open"),
                          [[Я закрываю бардачок -- изогнутая, обшитая кожей крышка захлопывается с приятным отрывистым щелчком.]]
                        }
                  }
  ,Press        = redirect_("Open")
  ,Search       = redirect_("Open")
  ,Move         = redirect_("Open")
  ,Wreck        = redirect_("Wreck", "dream4_underarm")
  ,Ascend       = redirect_("Ascend", "dream4_underarm")
  ,withPutIn    = true
  ,withPutAway  = true
  ,withPut      = true
  ,withThrow    = true
  ,withInsert   = true
  ,withTakeFrom = true
  ,articles     = {
                     ["Put"] = "в"
                    ,["Throw"] = "в"
                    ,["Ascend"] = "в"
                    ,["Insert"] = "в"
                    ,["Search"] = "в"
                    ,["PutAway"] = "в"
                    ,["PutIn"] = "в"
                    ,["Press"] = "на"
                    ,["TakeFrom"] = "из"
                  }
}:like(pBasic)


---------------------------------------------------------------------------------------------------
--dream4end
---------------------------------------------------------------------------------------------------
dream4end1 = pause {
   time         = 3000
  ,next         = walkfast2_("dream4end2")
}

dream4end2 = scene {
   obj          = {
                     "dream4end2_start"
                    ,"dream4end2_dark"
                    ,"dream4end2_lydia"
                  }
  ,before_Default=walk_("cell6start")
  ,Cry          = nilfn
  ,Refresh      = nilfn
  ,Exit         = nilfn
  ,Return       = nilfn
  ,Wait         = nilfn
}

dream4end2_start = rooms.dsc
  [[Внезапно всё вокруг застилает непроницаемая темнота, и голос Лиды тонет в этом всепоглощающем мраке.
    Я слышу странный щелчок, как если бы кто-то повернул тугой заевший рычаг, сдвинул панель портативного
    голографического проектора по часовой стрелке, отключив изображение. Я роняю камеру и застываю от ужаса.^
    Вокруг меня ничего нет.^
    Лида исчезла.^
    Мне хочется закричать, позвать кого-нибудь на помощь, но я не могу выдавить из себя ни слова.]]

dream4end2_dark = item {
   nam          = _"темнота"
  ,Exam         = nilfn
  ,Approach     = nilfn
  ,Listen       = nilfn
}:like(pBuild)

dream4end2_lydia = item {
   nam          = _"Лида"
  ,Exam         = nilfn
  ,Search       = nilfn
  ,Listen       = nilfn
  ,Talk         = nilfn
  ,Attack       = nilfn
}:like(pHuman)
